package cn.eonshine.cuba.lsms.modular.basic.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

/**
 * <p>
 * 船舶基础信息/Tanker(Buques) Basic Info
 * </p>
 *
 * @author Alan
 * @since 2019-03-24
 */
@TableName("B_TANKER")
public class Tanker extends Model<Tanker> {

    private static final long serialVersionUID = 1L;

    /**
     * Tanker primary key
            船舶主键
     */
    @TableId("ID")
    private String id;
    /**
     * carrier primary key
            承运商主键
     */
    @TableField("CARRIER_ID")
    private String carrierId;
    /**
     * tanker imo
            船舶号
     */
    @TableField("TANKER_IMO")
    private String tankerImo;
    /**
     * tanker MSI
     */
    @TableField("TANKER_MSI")
    private String tankerMsi;
    /**
     * tanker name
             船舶名称
     */
    @TableField("TANKER_NAME")
    private String tankerName;
    /**
     * tanker type:Small oil tanker、Medium oil tanker、Large oil tanker、Super oil tanker
            船类型：小、中、大型油船，超级油船
     */
    @TableField("TANKER_TYPE")
    private String tankerType;
    /**
     * maximum deadweight(ton)
            净载重量
     */
    @TableField("MAX_DEADWEIGHT")
    private Double maxDeadweight;
    /**
     * In ballast displacement(Ton)
            空载排水量
     */
    @TableField("IN_BALLAST_DISPLACEMENT")
    private Double inBallastDisplacement;
    /**
     * laden displacement(Ton)
            满载排水量
     */
    @TableField("LADEN_DISPLACEMENT")
    private Double ladenDisplacement;
    /**
     * Registration tanker length
             登记长度
     */
    @TableField("REGISTER_LENGTH")
    private Double registerLength;
    /**
     * Register the tanker wide
            登记船宽
     */
    @TableField("REGISTER_WIDTH")
    private Double registerWidth;
    /**
     * In ballast draft depth(Meter)
            空载吃水深度
     */
    @TableField("IN_BALLAST_DRAFT_DEPTH")
    private Double inBallastDraftDepth;
    /**
     * laden draft depth(Meter)
            满载吃水深度
     */
    @TableField("LADEN_DRAFT_DEPTH")
    private Double ladenDraftDepth;
    /**
     * 船舱数/freight space number
     */
    @TableField("FREIGHT_SPACE_NUM")
    private Long freightSpaceNum;
    /**
     * the last date update the Q88 
            船舶Q88,时间，预警中出现船舶Q88预警。
     */
    @TableField("LAST_UPDATE_Q88")
    private Date lastUpdateQ88;
    /**
     * The document upload to system for for storage path,this field can help system to realization upload/download/query function 
            文件上传到系统存储路径,此字段帮助系统上传，下载，查询功能的实现
     */
    @TableField("DOC_UPLOAD_PATH")
    private String docUploadPath;
    /**
     * creator
            创建者
     */
    @TableField("CREATE_BY")
    private String createBy;
    /**
     * Create time
            创建时间
     */
    @TableField("CREATE_DATE")
    private Date createDate;
    /**
     * updater
            更新者
     */
    @TableField("UPDATE_BY")
    private String updateBy;
    /**
     * Update time
            更新时间
     */
    @TableField("UPDATE_DATE")
    private Date updateDate;
    /**
     * Remarks information
            备注信息
     */
    @TableField("REMARKS")
    private String remarks;
    /**
     * Delete the tag field
            删除标记
     */
    @TableField("DEL_FLAG")
    private String delFlag;
    /**
     * exchange tanker
            替换船只
     */
    @TableField("EXCHANGE_ID")
    private String exchangeId;
    /**
     * ifo180   ifo380
     */
    @TableField("IFO")
    private String ifo;
    /**
     * enable 是否可用
     */
    @TableField("ENABLE")
    private String enable;
    /**
     * load type 装载类型
     */
    @TableField("LOAD_TYPE")
    private String loadType;
    /**
     * flow velocity 流速
     */
    @TableField("FLOW_VELOCITY")
    private Float flowVelocity;
    /**
     * loss id 损耗主键
     */
    @TableField("LOSS_ID")
    private String lossId;
    /**
     * ifo capacity IFO容量
     */
    @TableField("IFO_CAPACITY")
    private Double ifoCapacity;
    /**
     * diesel capacity 柴油容量
     */
    @TableField("DO_CAPACITY")
    private Double doCapacity;
    /**
     * water capacity 水容量
     */
    @TableField("WATER_CAPACITY")
    private Double waterCapacity;
    /**
     * level 
     */
    @TableField("TANKER_LEVEL")
    private String tankerLevel;
    /**
     * is import 是否进出口
     */
    @TableField("IS_IMPORT")
    private String isImport;
    /**
     * is calculate 是否参与计算
     */
    @TableField("IS_CALCULATE")
    private String isCalculate;
    /**
     * unload flow velocity 卸货流速
     */
    @TableField("UNLOAD_FLOW_VELOCITY")
    private Double unloadFlowVelocity;
    /**
     * TPC 每平米吃水载重
     */
    @TableField("TPC")
    private Double tpc;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCarrierId() {
        return carrierId;
    }

    public void setCarrierId(String carrierId) {
        this.carrierId = carrierId;
    }

    public String getTankerImo() {
        return tankerImo;
    }

    public void setTankerImo(String tankerImo) {
        this.tankerImo = tankerImo;
    }

    public String getTankerMsi() {
        return tankerMsi;
    }

    public void setTankerMsi(String tankerMsi) {
        this.tankerMsi = tankerMsi;
    }

    public String getTankerName() {
        return tankerName;
    }

    public void setTankerName(String tankerName) {
        this.tankerName = tankerName;
    }

    public String getTankerType() {
        return tankerType;
    }

    public void setTankerType(String tankerType) {
        this.tankerType = tankerType;
    }

    public Double getMaxDeadweight() {
        return maxDeadweight;
    }

    public void setMaxDeadweight(Double maxDeadweight) {
        this.maxDeadweight = maxDeadweight;
    }

    public Double getInBallastDisplacement() {
        return inBallastDisplacement;
    }

    public void setInBallastDisplacement(Double inBallastDisplacement) {
        this.inBallastDisplacement = inBallastDisplacement;
    }

    public Double getLadenDisplacement() {
        return ladenDisplacement;
    }

    public void setLadenDisplacement(Double ladenDisplacement) {
        this.ladenDisplacement = ladenDisplacement;
    }

    public Double getRegisterLength() {
        return registerLength;
    }

    public void setRegisterLength(Double registerLength) {
        this.registerLength = registerLength;
    }

    public Double getRegisterWidth() {
        return registerWidth;
    }

    public void setRegisterWidth(Double registerWidth) {
        this.registerWidth = registerWidth;
    }

    public Double getInBallastDraftDepth() {
        return inBallastDraftDepth;
    }

    public void setInBallastDraftDepth(Double inBallastDraftDepth) {
        this.inBallastDraftDepth = inBallastDraftDepth;
    }

    public Double getLadenDraftDepth() {
        return ladenDraftDepth;
    }

    public void setLadenDraftDepth(Double ladenDraftDepth) {
        this.ladenDraftDepth = ladenDraftDepth;
    }

    public Long getFreightSpaceNum() {
        return freightSpaceNum;
    }

    public void setFreightSpaceNum(Long freightSpaceNum) {
        this.freightSpaceNum = freightSpaceNum;
    }

    public Date getLastUpdateQ88() {
        return lastUpdateQ88;
    }

    public void setLastUpdateQ88(Date lastUpdateQ88) {
        this.lastUpdateQ88 = lastUpdateQ88;
    }

    public String getDocUploadPath() {
        return docUploadPath;
    }

    public void setDocUploadPath(String docUploadPath) {
        this.docUploadPath = docUploadPath;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getExchangeId() {
        return exchangeId;
    }

    public void setExchangeId(String exchangeId) {
        this.exchangeId = exchangeId;
    }

    public String getIfo() {
        return ifo;
    }

    public void setIfo(String ifo) {
        this.ifo = ifo;
    }

    public String getEnable() {
        return enable;
    }

    public void setEnable(String enable) {
        this.enable = enable;
    }

    public String getLoadType() {
        return loadType;
    }

    public void setLoadType(String loadType) {
        this.loadType = loadType;
    }

    public Float getFlowVelocity() {
        return flowVelocity;
    }

    public void setFlowVelocity(Float flowVelocity) {
        this.flowVelocity = flowVelocity;
    }

    public String getLossId() {
        return lossId;
    }

    public void setLossId(String lossId) {
        this.lossId = lossId;
    }

    public Double getIfoCapacity() {
        return ifoCapacity;
    }

    public void setIfoCapacity(Double ifoCapacity) {
        this.ifoCapacity = ifoCapacity;
    }

    public Double getDoCapacity() {
        return doCapacity;
    }

    public void setDoCapacity(Double doCapacity) {
        this.doCapacity = doCapacity;
    }

    public Double getWaterCapacity() {
        return waterCapacity;
    }

    public void setWaterCapacity(Double waterCapacity) {
        this.waterCapacity = waterCapacity;
    }

    public String getTankerLevel() {
        return tankerLevel;
    }

    public void setTankerLevel(String tankerLevel) {
        this.tankerLevel = tankerLevel;
    }

    public String getIsImport() {
        return isImport;
    }

    public void setIsImport(String isImport) {
        this.isImport = isImport;
    }

    public String getIsCalculate() {
        return isCalculate;
    }

    public void setIsCalculate(String isCalculate) {
        this.isCalculate = isCalculate;
    }

    public Double getUnloadFlowVelocity() {
        return unloadFlowVelocity;
    }

    public void setUnloadFlowVelocity(Double unloadFlowVelocity) {
        this.unloadFlowVelocity = unloadFlowVelocity;
    }

    public Double getTpc() {
        return tpc;
    }

    public void setTpc(Double tpc) {
        this.tpc = tpc;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Tanker{" +
        ", id=" + id +
        ", carrierId=" + carrierId +
        ", tankerImo=" + tankerImo +
        ", tankerMsi=" + tankerMsi +
        ", tankerName=" + tankerName +
        ", tankerType=" + tankerType +
        ", maxDeadweight=" + maxDeadweight +
        ", inBallastDisplacement=" + inBallastDisplacement +
        ", ladenDisplacement=" + ladenDisplacement +
        ", registerLength=" + registerLength +
        ", registerWidth=" + registerWidth +
        ", inBallastDraftDepth=" + inBallastDraftDepth +
        ", ladenDraftDepth=" + ladenDraftDepth +
        ", freightSpaceNum=" + freightSpaceNum +
        ", lastUpdateQ88=" + lastUpdateQ88 +
        ", docUploadPath=" + docUploadPath +
        ", createBy=" + createBy +
        ", createDate=" + createDate +
        ", updateBy=" + updateBy +
        ", updateDate=" + updateDate +
        ", remarks=" + remarks +
        ", delFlag=" + delFlag +
        ", exchangeId=" + exchangeId +
        ", ifo=" + ifo +
        ", enable=" + enable +
        ", loadType=" + loadType +
        ", flowVelocity=" + flowVelocity +
        ", lossId=" + lossId +
        ", ifoCapacity=" + ifoCapacity +
        ", doCapacity=" + doCapacity +
        ", waterCapacity=" + waterCapacity +
        ", tankerLevel=" + tankerLevel +
        ", isImport=" + isImport +
        ", isCalculate=" + isCalculate +
        ", unloadFlowVelocity=" + unloadFlowVelocity +
        ", tpc=" + tpc +
        "}";
    }
}
